<#-- 自定义的分页指令 (powered by laoshuisheng)
    属性：
   curPage      当前页号(int类型)
   pageSize    每页要显示的记录数(int类型)
   toURL       点击分页标签时要跳转到的目标URL(string类型)
   totalItem 总记录数(int类型)
 -->
<#macro pager curPage pageSize toURL totalItem formName>  
  <#-- 定义局部变量pageCount保存总页数 -->
  <#assign pageCount=((totalItem + pageSize - 1) / pageSize)?int>
  <#if totalItem==0><#return/></#if>
  
  <#-- 页号越界处理 -->
  <#if (curPage > pageCount)>
    <#assign curPage=pageCount>
  </#if>
  <#if (curPage < 1)>
    <#assign curPage=1>
  </#if>
<#-- 输出分页表单 -->

<#-- 把请求中的所有参数当作隐藏表单域(无法解决一个参数对应多个值的情况) 

<#list RequestParameters?keys as key>
	<#if (key!="curPage" && RequestParameters[key]??)>
		<input type="hidden" name="${key}" value="${RequestParameters[key]}"/>
	</#if>
</#list>
-->

<input type="hidden" id="curpage_id" name="curPage" value="${curPage!1}"/>
<div>
  	<ul class="pagination">	
	<#-- 上一页处理 -->
	<#if (curPage == 1)>
		<li class="disabled">
			<span>&laquo;&nbsp;上一页</span>
		</li>
		  <#else>
		<li>
			<a href="JavaScript:turnOverPage(${curPage - 1})">&laquo;&nbsp;上一页</a>
		</li>
	</#if>
	
	<#-- 如果前面页数过多,显示... -->
	 <#assign start=1>
	 <#if (curPage > 4)>
	    <#assign start=(curPage - 1)>
	    <li>
			<a href="javascript:turnOverPage(1)">1</a>
		</li>
		<li>
			<a href="javascript:turnOverPage(2)">2</a>
		</li>
		<li>
			<span>&hellip;</span>
		</li>
	 </#if>
	<#-- 显示当前页号和它附近的页号 -->
	 <#assign end=(curPage + 1)>
	 <#if (end > pageCount)>
	  <#assign end=pageCount>
	 </#if>
	  <#list start..end as i>
	    <#if (curPage==i)>
		<li class="active">${i}</li>
		  <#else>
			<li>
		  		<a href="javascript:turnOverPage(${i})">${i}</a>
		 	</li>      
	    </#if>
	  </#list>
	
	<#-- 如果后面页数过多,显示... -->
	  <#if (end < pageCount - 2)>
		<li>
			<span>&hellip;</span>
		</li>  
	  </#if>
	  
	  <#if (end < pageCount - 1)>
	  	<li>
			<a href="javascript:turnOverPage(${pageCount - 1})">${pageCount-1}</a>
		</li>
	  </#if>
	  <#if (end < pageCount)>
	  	<li>
			<a href="javascript:turnOverPage(${pageCount})">${pageCount}</a>
		</li>
	  </#if>
		
		<#-- 下一页处理 -->
	  <#if (curPage == pageCount)>
		<li class="disabled"><span>下一页&nbsp;&raquo;</span></li>
	  <#else>
	  	<li>
			<a href="javascript:turnOverPage(${curPage + 1})">下一页&nbsp;&raquo;</a>
		</li>
	  </#if>
	</ul>
</div>

<script language="javascript">
  function turnOverPage(no){
    var formName=document.${formName};
    document.getElementById("curpage_id").value=no;
    formName.action="${toURL}";
    formName.submit();
  }
</script>
</#macro>


<#-- 单个参数的分页宏 -->
<#macro p pageParam toURL formName>  
  <#if pageParam.totalItem==0><#return/></#if>
  
  <#-- 页号越界处理 -->
  <#if (pageParam.curPage > pageParam.totalPage)>
    <#assign curPage=pageParam.totalPage>
  </#if>
  <#if (pageParam.curPage < 1)>
    <#assign curPage=1>
  </#if>
<#-- 输出分页表单 -->

<#-- 把请求中的所有参数当作隐藏表单域(无法解决一个参数对应多个值的情况) 

<#list RequestParameters?keys as key>
	<#if (key!="curPage" && RequestParameters[key]??)>
		<input type="hidden" name="${key}" value="${RequestParameters[key]}"/>
	</#if>
</#list>
-->
<input type="hidden" id="curpage_id" name="curPage" value="${(pageParam.curPage)!1}"/>
<div class="row">
	<div class="col-sm-6">
		<div id="sample-table-2_length" class="dataTables_length">
			<label>总记录数: ${pageParam.totalItem!0} 条，当前第 ${pageParam.curPage} 页，每页 
				<select size="1" name="pageSize" aria-controls="sample-table-2" onchange="changePage();">
					<option value="10" <#if pageParam.pageSize==10>selected="selected"</#if>>10</option>
					<option value="15" <#if pageParam.pageSize==15>selected="selected"</#if>>15</option>
					<option value="20" <#if pageParam.pageSize==20>selected="selected"</#if>>20</option>
					<option value="25" <#if pageParam.pageSize==25>selected="selected"</#if>>25</option>
				</select> 条
			</label>
		</div>
	</div>
	
	<div class="col-sm-6">
		<div class="dataTables_paginate paging_bootstrap">
	  	<ul class="pagination">	
		<#-- 上一页处理 -->
		<#if (pageParam.curPage == 1)>
			<li class="disabled">
				<span>&laquo;&nbsp;上一页</span>
			</li>
		<#else>
			<li>
				<a href="JavaScript:turnOverPage(${pageParam.curPage - 1})">&laquo;&nbsp;上一页</a>
			</li>
		</#if>
		
		<#-- 如果前面页数过多,显示... -->
		 <#assign start=1>
		 <#if (pageParam.curPage > 4)>
		    <#assign start=(pageParam.curPage - 1)>
		    <li <#if 1== pageParam.curPage>class="active" </#if>>
				<a href="javascript:turnOverPage(1)">1</a>
			</li>
			<li <#if 2== pageParam.curPage>class="active" </#if>>
				<a href="javascript:turnOverPage(2)">2</a>
			</li>
			<li>
				<span>&hellip;</span>
			</li>
		 </#if>
		<#-- 显示当前页号和它附近的页号 -->
		 <#assign end=(pageParam.curPage + 1)>
		 
		 <#if (end > pageParam.totalPage)>
		  <#assign end=pageParam.totalPage>
		 </#if>
		 
		  <#list start..end as i>
		    <#if (pageParam.curPage==i)>
				<li class="active"><a href="javascript:void(0);">${i}</a></li>
			<#else>
				<li <#if i== pageParam.curPage>class="active" </#if>>
			  		<a href="javascript:turnOverPage(${i})">${i}</a>
			 	</li>      
		    </#if>
		  </#list>
		
		<#-- 如果后面页数过多,显示... -->
		  <#if (end < pageParam.totalPage - 2)>
			<li>
				<span>&hellip;</span>
			</li>  
		  </#if>
		  
		  <#if (end < pageParam.totalPage - 1)>
		  	<li>
				<a href="javascript:turnOverPage(${pageParam.totalPage - 1})">${pageParam.totalPage-1}</a>
			</li>
		  </#if>
		  <#if (end < pageParam.totalPage)>
		  	<li>
				<a href="javascript:turnOverPage(${pageParam.totalPage})">${pageParam.totalPage}</a>
			</li>
		  </#if>
	
		  <#-- 下一页处理 -->
		  <#if (pageParam.curPage==pageParam.totalPage)>
			<li class="disabled"><span>下一页&nbsp;&raquo;</span></li>
		  <#else>
		  	<li>
				<a href="javascript:turnOverPage(${pageParam.curPage + 1})">下一页&nbsp;&raquo;</a>
			</li>
		  </#if>
		</ul>
		</div>
	</div>
</div>

<script language="javascript">
  //跳转到下一页上一页
  function turnOverPage(no){
    var formName=document.${formName};
    document.getElementById("curpage_id").value=no;
    formName.action="${toURL}";
    formName.submit();
  }
  //修改页码
  function changePage(){
    var formName=document.${formName};
    formName.action="${toURL}";
    formName.submit();
  }
</script>
</#macro>
